package com.dlc.shop.bean.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dlc.shop.bean.param.UserTagParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 *
 *
 * @author lhd
 * @date 2020-07-01 15:44:27
 */
@Data
@TableName("tz_notify_template")
public class NotifyTemplate implements Serializable{
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId
    @Schema(description = "模板id" )
    private Long templateId;
    /**
     * 0.自定义消息 1.订单催付 2.付款成功通知 3.商家同意退款 4.商家拒绝退款 5.核销提醒  6.发货提醒  7.拼团失败提醒 8.拼团成功提醒 9.拼团开团提醒 10.开通会员提醒
     * 101.退款临近超时提醒 102.确认收货提醒 103.买家发起退款提醒 104.买家已退货提醒
     */
    @Schema(description = "消息类型" )
    private Integer sendType;

    @Schema(description = "通知内容" )
    private String message;

    @Schema(description = "短信模板code" )
    private String templateCode;

    @Schema(description = "消息发送类型 1.买家 2.卖家" )
    private Integer msgType;

    @Schema(description = "公众号模板code" )
    private String mpCode;

    @Schema(description = "用通知方式集合用逗号分隔 1.短信 2.公众号 3.站内消息" )
    private String templateTypes;

    @Schema(description = "模板类型列表" )
    @TableField(exist = false)
    private List<Integer> templateTypeList;

    @Schema(description = "店铺模板类型列表" )
    @TableField(exist = false)
    private List<Integer> shopTemplateTypeList;

    @TableField(exist = false)
    private Boolean sms;

    @TableField(exist = false)
    private Boolean app;

    @TableField(exist = false)
    private Boolean sub;

    @TableField(exist = false)
    private Boolean shopSms;

    @TableField(exist = false)
    private Boolean shopApp;

    @TableField(exist = false)
    private Boolean shopSub;

    @TableField(exist = false)
    private List<Long> selTagIds;

    @TableField(exist = false)
    private List<UserTagParam> tagParams;

    @Schema(description = "启用状态 1启用 0禁用" )
    private Integer status;

    @Schema(description = "创建时间" )
    private Date createTime;

}
